package cn.tedu.csmallproductzxj.web;

public enum ServiceCode {
    /**
     * 枚举：穷举所有可能的值
     * 穷举：把所有可能的值都列出来
     *
     * 什么时候用枚举：把可能的值能直接列出来
     * 优点：只能选择特定的选择，不能自己随意输入
     *
     * 把这四个看做是对象，每次调用对象都会给他传递一个值
     *
     */

    //把这四个看做是对象，每次调用对象通过构造方法都会给他传递一个值v
    /**
     * 成功
     */
    OK(20000),
    /**
     * 错误：请求参数格式有误
     */
    ERR_BAD_REQUEST(40000),
    /**
     * 错误：数据不存在
     */
    ERR_NOT_FOUND(40400),
    /**
     * 错误：数据冲突
     */
    ERR_CONFLICT(40900),
    /**
     * 错误：插入数据错误
     */
    ERR_INSERT(50000),
    /**
     * 错误：删除数据错误
     */
    ERR_DELETE(50100),
    /**
     * 错误：修改数据错误
     */
    ERR_UPDATE(50200),
    /**
     * 错误：未知错误
     */
    ERR_UNKNOWN(99999);

    //好处，调用者不必知道状态值是多少，限制了值的输入，fail中的getValue可以把值输出
    private Integer value;
    //枚举的构造方法一般是不写的，默认是私有的
    ServiceCode(Integer v){
        this.value=v;
    }

    public Integer getValue(){
        return value;
    }

}
